package com.jt.vo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * @author Cx
 * @stage JT Of Fourth stage
 * @creat 2020-11-30 10:37
 */
@Data
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
public class SysResult {

    private Integer status; /* 状态信息 200=>success 201=>fail */
    private String msg; /* 服务器给用户得提示信息 */
    private Object data; /* 服务器返回给用户的数据 */

    public static SysResult fail() { /* 封装工具API */
        return new SysResult(201, "服务器调用异常", null);
    }

    public static SysResult success() { /* 封装工具API */
        return new SysResult(200, "业务执行成功", null);
    }

    public static SysResult success(Object data) { /* 重载成功方法 */
        return new SysResult(200, "业务执行成功", data);
    }

    public static SysResult success(String msg, Object data) { /* 重载方法不要有包含关系 */
        return new SysResult(200, msg, data);
    }

}
